﻿<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
<html>
<head>
<title>FSF.FarNameToInputRecord</title>
<meta http-equiv="Content-Type" Content="text/html; charset=utf-8">
<link rel="stylesheet" type="text/css" href="../../styles/styles.css">
<script language="javascript" src='../links.js' type="text/javascript"></script>
</head>
<body>

<h1>FarNameToInputRecord</h1>
<div class=navbar>
<a href="../index.html">главная</a> |
<a href="index.html">стандартные функции</a>
</div>

<div class=shortdescr>
Функция <code>FSF.FarNameToInputRecord</code> конвертирует строку из кода клавиш с внутренним форматом клавиш Far Manager'а в <a href="../winapi/input_record.html">INPUT_RECORD</a>.
</div>

<pre class=syntax>
BOOL WINAPI FarNameToInputRecord(
  const wchar_t *Name,
  INPUT_RECORD *Key
);
</pre>

<h3>Параметры</h3>
<div class=descr>
  <div class=dfn>Name</div>
    <div class=dfndescr>Символьное представление клавиши. Функция ожидает строку по спецификации:<ol>
    <li>Предопределённые сочетания (см. <a href="https://github.com/FarGroup/FarManager/blob/master/far/keyboard.cpp">keyboard.cpp</a>::FKeys1[])
    <li>Опциональные модификаторы ("Alt", "RAlt", "Ctrl", "RCtrl", "Shift") и 1 символ, например, "AltD" или "CtrlC"
    <li>"Alt" (или "RAlt") и 5 десятичных цифр (с ведущими нулями)
    <li>"Spec" и 5 десятичных цифр (с ведущими нулями)
    <li>"Oem" и 5 десятичных цифр (с ведущими нулями)
    <li>только модификаторы ("Alt", "RAlt", "Ctrl", "RCtrl", "Shift")
  </ol>
  <div class=dfn>Key</div>
    <div class=dfndescr>Указатель на структуру <a href="../winapi/input_record.html">INPUT_RECORD</a> куда будет помещен результат преобразования.</div>
</div>

<h3>Возвращаемое значение</h3>
<div class=descr>
В случае успеха функция возвращает <code>TRUE</code>.
</div>

<h3>Примечание</h3>
<div class=descr>
<ol>
<li>Если в комбинации клавиш присутствует <kbd>Ctrl</kbd> или <kbd>Alt</kbd> и клавиша - "буква", то "буква"
    принудительно приводится к верхнему регистру. Например, <code>FarNameToInputRecord("CtrlAltz")</code> вернёт <code>KEY_CTRLALTZ</code>.
<li>Если в комбинации клавиш присутствует <kbd>Ctrl</kbd> или <kbd>Alt</kbd> и клавиша - "буква национального алфавита", то "буква"
    принудительно заменяется на клавиатурный эквивалент и приводится к верхнему регистру. Например, <code>FarNameToInputRecord("CtrlУ")</code> вернёт <code>KEY_CTRLE</code>.
<li>Комбинации клавиш <kbd>Shift</kbd>-"буква" преобразуется к "БУКВА" (т.е. удаляется компонента Shift и "буква" переводится в верхний регистр).
</ol>
</div>

<h3>Пример</h3>
<div class=descr>
</div>

</body>
</html>
